Using Feature Dependency Analysis and AOP for Incremental Software Development∗
نویسنده
چکیده
Incremental addition of features into a product may not be an easy task, as its addition may cause changes to many parts of existing components. Aspect-oriented programming (AOP) provides effective mechanisms for encapsulating crosscutting concerns and integrating them without modifying existing components. However, it is not sufficient for incremental software development. Feature dependency analysis provides essential information for incremental software development. By tightly coupling feature dependency analysis with AOP, we can support incremental software development. In this paper, we provide specific guidelines on how feature dependency analysis and an AOP technique (i.e., AspectJ) can be combined to support incremental software development.
منابع مشابه
EggShell a workbench for the assessment of modeling pipelines for scientific communities
Feature-Oriented Programming (FOP ) decomposes complex software into features. Features are main abstractions in design and implementation. They reflect user requirements and incrementally refine one another. Although, features crosscut object-oriented architectures they fail to express all kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction me...
متن کاملAspect Refinement and Bounded Quantification in Incremental Designs
This article investigates aspects in the context of the incremental software development, i.e. software product lines. Specifically, we propose the integration of aspects into AHEAD, an architectural model for feature-based product line development. We introduce the notion of aspect refinement based on Aspectual Mixin Layers, a novel technique for implementing features. Aspect refinement enable...
متن کاملWhat are the benefits of Aspect Oriented Programming to project iterations developed using Agile Processes?
Aspect Oriented Programming (AOP) is a software development programming technique that facilitates the modularization of cross cutting concerns, for example logging, security and error handling [4]. Agile Processes, such as eXreme Programming and SCRUM are software development methodologies that promote iterative and incremental design and development to projects [2]. This paper will test the h...
متن کاملApostle: A Simple Incremental Weaver for a Dynamic Aspect Language
This paper describes the incremental weaving implementation of Apostle, an aspect-oriented language extension to Smalltalk modelled on AspectJ. Apostle implements incremental weaving in order to make aspect-oriented programming (AOP) a natural extension of the incremental edit-run-debug cycle of Smalltalk environments. The paper analyzes build dependencies for aspect declarations, and shows tha...
متن کاملAspectual Mixin Layers
Feature-Oriented Programming (FOP) is an appropriate programming paradigm to implement program families and incremental designs. Beside numerous strengths in doing that FOP yields several drawbacks, especially regarding the ability to localize and modularize crosscutting concerns. This is exactly the strength of another prominent programming paradigm, Aspect-Oriented Programming (AOP). In this ...
متن کامل